#include"time_local_and_utc.h"

/************************************* 
 * 函数功能：获取当前本地时间的函数
 * 函数名：char* getLocalNowtime(void) 
 * 形参：void
 * 返回值：当前当地时间的动态分配字符串
**************************************/
char* getLocalNowtime(void) 
{
    time_t current_time;
    struct tm* now_time;
    char *cur_time = (char *)malloc(21 * sizeof(char)); // 分配足够的内存

    if (cur_time == NULL) {
        perror("malloc failed");
        exit(EXIT_FAILURE);
    }

    time(&current_time);
    now_time = localtime(&current_time);

    // 使用strftime填充日期和时间字符串
    strftime(cur_time, 21, "%F %T", now_time); // 格式化为 "YYYY-MM-DD HH:MM:SS"

    return cur_time;
}


/************************************* 
 * 函数功能：获取当前UTC时间的函数
 * 函数名：char* getUTCNowtime(void) 
 * 形参：void
 * 返回值：当前utc时间的动态分配字符串
**************************************/
char* getUTCNowtime(void) 
{
    time_t current_time;
    struct tm* now_time;
    char *cur_time = (char *)malloc(21 * sizeof(char)); // 分配足够的内存

    if (cur_time == NULL) {
        perror("malloc failed");
        exit(EXIT_FAILURE);
    }

    time(&current_time);
    now_time = gmtime(&current_time);

    // 使用strftime填充日期和时间字符串
    strftime(cur_time, 21, "%F %T", now_time); // 格式化为 "YYYY-MM-DD HH:MM:SS"

    return cur_time;
}
